#ifndef ARMCONFIG_H
#define ARMCONFIG_H

#include "controlcan.h"
#include "geometry_msgs/msg/twist.hpp"
#include "std_msgs/msg/int32.hpp"
#include "std_msgs/msg/float32.hpp"


using namespace std::chrono_literals;

// 电机编号
int motor_id_05 = 0x0005; // 机械臂电机

// USB-CAN系列接口卡的设备信息
VCI_BOARD_INFO board_info;
// 初始化CAN的配置
VCI_INIT_CONFIG init_config;
// CAN帧结构体
VCI_CAN_OBJ config_node;
VCI_CAN_OBJ send_motor_speed;

// 设备类型修改
DWORD device_type;
// 设备的索引
DWORD device_index;
// CAN控制器的索引 CAN1为0，CAN2为1
DWORD can_index;

// 电机状态
BYTE pos_zero[5] = {0x1e, 0x00, 0x00, 0x00, 0x00}; // 速度归零
BYTE motor_stop[1] = {0x02};                         // 电机关闭
// 数据
int32_t output[1];
// 函数声明
void Init_Can(void);
void SendData(VCI_CAN_OBJ &handle_obj, const int id, const BYTE *data, int dataLen);
// 位置信息转换
int pos_val(float pos_ang);

#endif